﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//
using ddcCajamarca.BusinessEntities.Administracion;
using ddcCajamarca.BusinessLogic.Administracion.Service;
using Microsoft.Practices.Unity;

namespace ddcCajamarca.Web.Administracion
{
    public partial class AdministarImagenes : System.Web.UI.Page
    {
        #region Dependencias
        [Dependency]
        public I_ImagenBL ImagenBL { get; set; }
        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {
            #region Editar Imagen
            var opc = Request.QueryString["opc"];
            var idImagen = Request.QueryString["idImg"];

            if (!Page.IsPostBack)
            {
                if (idImagen != null && opc.Equals("editar"))
                {
                    ViewState["opc"] = "editar";

                    //para que los campos sean visibles en la opccion editar
                    lblNewImg.Visible = true;
                    lblDescripcion.Visible = true;
                    tbxDescripcion.Visible = true;
                    fuFoto.Visible = true;
                    lblImagen.Visible = true;
                    imgFoto.Visible = true;
                    btnGuardarImg.Visible = true;

                    var id = Int32.Parse(idImagen);
                    var imagen = ImagenBL.GetImagenById(id);
                    imgFoto.ImageUrl = "~/Images/varias/" + imagen.Img;

                    tbxId.Text = imagen.Id.ToString();
                    //para cargar la descripcion de la imagen al textbox
                    tbxDescripcion.Text = imagen.Descripcion;
                    //para que me diga el nombre de la imagen al momento de editar
                    lblImagen.Visible = true;
                    lblImagen.Text = imagen.Descripcion;

                    Cache.Insert("imagen", imagen);

                }

            }
            #endregion
        }

        #region Consulta Get
        public IEnumerable<Imagen> GetImagenes()
        {
            return ImagenBL.GetAllImgs();
        }
        #endregion


        protected void btnGuardarImg_Click(object sender, EventArgs e)
        {
            if (ViewState["opc"].ToString() == "editar")
            {
                var image = Cache.Get("imagen") as Imagen;

                image.Descripcion = tbxDescripcion.Text;

                var imgNombreDb = image.Img;

                if (System.IO.File.Exists("C:/Users/mompi3p/Documents/INC/ddcCajamarca/ddcCajamarca.Web/Images/varias/" + imgNombreDb))
                {
                    if (fuFoto.HasFile)
                    {
                        System.IO.File.Delete("C:/Users/mompi3p/Documents/INC/ddcCajamarca/ddcCajamarca.Web/Images/varias/" + imgNombreDb);

                        fuFoto.SaveAs("C:/Users/mompi3p/Documents/INC/ddcCajamarca/ddcCajamarca.Web/Images/varias/" + fuFoto.FileName);
                        var imgNombre = fuFoto.FileName;

                        image.Img = imgNombre;
                    }
                    else
                    {
                        image.Img = imgNombreDb;
                    }
                  }

                ImagenBL.UpdateImg(image);

                Response.Redirect("AdministarImagenes.aspx");

            }

        }// End If

    }
}